package com.dux.springnative.springboot27;


import org.springframework.nativex.hint.FieldHint;
import org.springframework.nativex.hint.MethodHint;
import org.springframework.nativex.hint.NativeHint;
import org.springframework.nativex.hint.ResourceHint;
import org.springframework.nativex.hint.TypeHint;
import org.springframework.stereotype.Component;

@NativeHint(
        /*resources = {
                @ResourceHint(patterns = "eureka/server.properties")
        },
        types = {
                // eureka 相关的反射配置
                @TypeHint(types = EurekaJacksonCodec.class, fields = {
                    @FieldHint(name = "mapper"),
                    @FieldHint(name = "objectReaderByClass"),
                    @FieldHint(name = "objectWriterByClass")
                }),
                @TypeHint(types = PureJavaReflectionProvider.class, methods = @MethodHint(name = "<init>")),
                @TypeHint(types = XmlXStream.class, methods = @MethodHint(name = "<init>")),
                @TypeHint(types = { AnnotationMapper.class, ArrayMapper.class, AttributeAliasingMapper.class,
                        AttributeAliasingMapper.class, CachingMapper.class, CGLIBMapper.class,
                        ClassAliasingMapper.class, DefaultImplementationsMapper.class, DefaultMapper.class,
                        DynamicProxyMapper.class, ElementIgnoringMapper.class, FieldAliasingMapper.class,
                        ImmutableTypesMapper.class, ImplicitCollectionMapper.class, LambdaMapper.class,
                        LocalConversionMapper.class, OuterClassMapper.class, PackageAliasingMapper.class,
                        SecurityMapper.class, SystemAttributeAliasingMapper.class, EnumMapper.class,
                        XmlFriendlyMapper.class, XStream11XmlFriendlyMapper.class
                }),
                @TypeHint(types = {
                        CodecWrappers.XStreamXml.class, CodecWrappers.XStreamJson.class,
                        CodecWrappers.JacksonJson.class, CodecWrappers.JacksonXml.class,
                        CodecWrappers.JacksonJsonMini.class, CodecWrappers.JacksonXmlMini.class,
                        CodecWrappers.LegacyJacksonJson.class
                })

        }*/
)
@Component
public class MyRuntimeHints {

}
